<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>/media/src/Dropbox/TC/SingleRoundMatch/SRM508/SRM508DIV2_250.h.html</title>
<meta name="Generator" content="Vim/7.2">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#ffffff" text="#000000"><font face="monospace">
<font color="#8080ff">//Thu Jun&nbsp;&nbsp;2 12:10:18 CDT 2011</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;vector&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;list&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;map&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;set&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;deque&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;stack&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;bitset&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;algorithm&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;functional&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;numeric&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;utility&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;sstream&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;iostream&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;iomanip&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;cstdio&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;cmath&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;cstdlib&gt;</font><br>
<font color="#ff40ff">#include </font><font color="#ff6060">&lt;ctime&gt;</font><br>
<br>
<font color="#ffff00">using</font>&nbsp;<font color="#00ff00">namespace</font>&nbsp;std;<br>
<br>
<font color="#00ff00">int</font>&nbsp;dx[] = {<font color="#ff6060">1</font>, -<font color="#ff6060">1</font>, <font color="#ff6060">0</font>, <font color="#ff6060">0</font>};<br>
<font color="#00ff00">int</font>&nbsp;dy[] = {<font color="#ff6060">0</font>, <font color="#ff6060">0</font>, <font color="#ff6060">1</font>, -<font color="#ff6060">1</font>};<br>
<br>
<font color="#00ff00">class</font>&nbsp;CandyShop {<br>
<font color="#ffff00">public</font>:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;countProbablePlaces(vector &lt;<font color="#00ff00">int</font>&gt;, vector &lt;<font color="#00ff00">int</font>&gt;, vector &lt;<font color="#00ff00">int</font>&gt;);<br>
};<br>
<br>
<font color="#00ff00">int</font>&nbsp;CandyShop::countProbablePlaces(vector &lt;<font color="#00ff00">int</font>&gt; X, vector &lt;<font color="#00ff00">int</font>&gt; Y, vector &lt;<font color="#00ff00">int</font>&gt; R) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;set&lt;pair&lt;<font color="#00ff00">int</font>, <font color="#00ff00">int</font>&gt; &gt; positions;<br>
&nbsp;&nbsp;&nbsp;&nbsp;deque&lt;pair&lt;pair&lt;<font color="#00ff00">int</font>, <font color="#00ff00">int</font>&gt;, <font color="#00ff00">int</font>&gt; &gt; q;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;N = X.size();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;mmax = <font color="#ff6060">0</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;set&lt;pair&lt;<font color="#00ff00">int</font>, <font color="#00ff00">int</font>&gt; &gt;::iterator it;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">for</font>(<font color="#00ff00">int</font>&nbsp;i=<font color="#ff6060">0</font>; i&lt;N; i++){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&lt;pair&lt;<font color="#00ff00">int</font>, <font color="#00ff00">int</font>&gt; &gt; tmp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q.clear();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q.push_back(make_pair(make_pair(X[i], Y[i]), R[i]));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp.insert(make_pair(X[i], Y[i]));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">while</font>(!q.empty()){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;x = q.front().first.first;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;y = q.front().first.second;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;r = q.front().second;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q.pop_front();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>(r &lt;= <font color="#ff6060">0</font>) <font color="#ffff00">continue</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">for</font>(<font color="#00ff00">int</font>&nbsp;j=<font color="#ff6060">0</font>; j&lt;<font color="#ff6060">4</font>; j++){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;xx = x + dx[j];<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;yy = y + dy[j];<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;sz = tmp.size();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp.insert(make_pair(xx, yy));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>(tmp.size() != sz)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q.push_back(make_pair(make_pair(xx, yy), r-<font color="#ff6060">1</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>(i==<font color="#ff6060">0</font>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;positions = tmp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font>{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&lt;pair&lt;<font color="#00ff00">int</font>,<font color="#00ff00">int</font>&gt; &gt; res;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">for</font>(it = tmp.begin(); it!=tmp.end(); it++){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>(positions.count(*it))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.insert(*it);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;positions = res;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;positions.size();<br>
}<br>
<br>
<br>
<font color="#00ff00">double</font>&nbsp;test0() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t0[] = {<font color="#ff6060">0</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p0(t0, t0+<font color="#ffff00">sizeof</font>(t0)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t1[] = {<font color="#ff6060">0</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p1(t1, t1+<font color="#ffff00">sizeof</font>(t1)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t2[] = {<font color="#ff6060">1</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p2(t2, t2+<font color="#ffff00">sizeof</font>(t2)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;CandyShop * obj = <font color="#ffff00">new</font>&nbsp;CandyShop();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;start = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;my_answer = obj-&gt;countProbablePlaces(p0, p1, p2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;end = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">delete</font>&nbsp;obj;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Time: &quot;</font>&nbsp;&lt;&lt;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>&nbsp;&lt;&lt;<font color="#ff6060">&quot; seconds&quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;p3 = <font color="#ff6060">5</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Desired answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; p3 &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Your answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; my_answer &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(p3 != my_answer) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;DOESN'T MATCH!!!!&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;-<font color="#ff6060">1</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font>&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Match :-)&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
<font color="#00ff00">double</font>&nbsp;test1() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t0[] = {<font color="#ff6060">0</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p0(t0, t0+<font color="#ffff00">sizeof</font>(t0)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t1[] = {<font color="#ff6060">0</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p1(t1, t1+<font color="#ffff00">sizeof</font>(t1)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t2[] = {<font color="#ff6060">2</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p2(t2, t2+<font color="#ffff00">sizeof</font>(t2)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;CandyShop * obj = <font color="#ffff00">new</font>&nbsp;CandyShop();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;start = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;my_answer = obj-&gt;countProbablePlaces(p0, p1, p2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;end = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">delete</font>&nbsp;obj;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Time: &quot;</font>&nbsp;&lt;&lt;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>&nbsp;&lt;&lt;<font color="#ff6060">&quot; seconds&quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;p3 = <font color="#ff6060">13</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Desired answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; p3 &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Your answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; my_answer &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(p3 != my_answer) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;DOESN'T MATCH!!!!&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;-<font color="#ff6060">1</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font>&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Match :-)&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
<font color="#00ff00">double</font>&nbsp;test2() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t0[] = {<font color="#ff6060">2</font>,<font color="#ff6060">3</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p0(t0, t0+<font color="#ffff00">sizeof</font>(t0)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t1[] = {<font color="#ff6060">1</font>,-<font color="#ff6060">1</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p1(t1, t1+<font color="#ffff00">sizeof</font>(t1)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t2[] = {<font color="#ff6060">2</font>,<font color="#ff6060">2</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p2(t2, t2+<font color="#ffff00">sizeof</font>(t2)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;CandyShop * obj = <font color="#ffff00">new</font>&nbsp;CandyShop();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;start = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;my_answer = obj-&gt;countProbablePlaces(p0, p1, p2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;end = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">delete</font>&nbsp;obj;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Time: &quot;</font>&nbsp;&lt;&lt;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>&nbsp;&lt;&lt;<font color="#ff6060">&quot; seconds&quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;p3 = <font color="#ff6060">4</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Desired answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; p3 &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Your answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; my_answer &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(p3 != my_answer) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;DOESN'T MATCH!!!!&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;-<font color="#ff6060">1</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font>&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Match :-)&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
<font color="#00ff00">double</font>&nbsp;test3() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t0[] = {<font color="#ff6060">2</font>,<font color="#ff6060">3</font>,<font color="#ff6060">5</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p0(t0, t0+<font color="#ffff00">sizeof</font>(t0)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t1[] = {<font color="#ff6060">1</font>,-<font color="#ff6060">1</font>,<font color="#ff6060">0</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p1(t1, t1+<font color="#ffff00">sizeof</font>(t1)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t2[] = {<font color="#ff6060">2</font>,<font color="#ff6060">2</font>,<font color="#ff6060">3</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p2(t2, t2+<font color="#ffff00">sizeof</font>(t2)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;CandyShop * obj = <font color="#ffff00">new</font>&nbsp;CandyShop();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;start = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;my_answer = obj-&gt;countProbablePlaces(p0, p1, p2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;end = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">delete</font>&nbsp;obj;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Time: &quot;</font>&nbsp;&lt;&lt;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>&nbsp;&lt;&lt;<font color="#ff6060">&quot; seconds&quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;p3 = <font color="#ff6060">3</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Desired answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; p3 &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Your answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; my_answer &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(p3 != my_answer) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;DOESN'T MATCH!!!!&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;-<font color="#ff6060">1</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font>&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Match :-)&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
<font color="#00ff00">double</font>&nbsp;test4() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t0[] = {-<font color="#ff6060">100</font>,-<font color="#ff6060">100</font>,-<font color="#ff6060">100</font>,<font color="#ff6060">0</font>,<font color="#ff6060">0</font>,<font color="#ff6060">0</font>,<font color="#ff6060">100</font>,<font color="#ff6060">100</font>,<font color="#ff6060">100</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p0(t0, t0+<font color="#ffff00">sizeof</font>(t0)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t1[] = {-<font color="#ff6060">100</font>,<font color="#ff6060">0</font>,<font color="#ff6060">100</font>,-<font color="#ff6060">100</font>,<font color="#ff6060">0</font>,<font color="#ff6060">100</font>,-<font color="#ff6060">100</font>,<font color="#ff6060">0</font>,<font color="#ff6060">100</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p1(t1, t1+<font color="#ffff00">sizeof</font>(t1)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t2[] = {<font color="#ff6060">1</font>,<font color="#ff6060">1</font>,<font color="#ff6060">1</font>,<font color="#ff6060">1</font>,<font color="#ff6060">1</font>,<font color="#ff6060">1</font>,<font color="#ff6060">1</font>,<font color="#ff6060">1</font>,<font color="#ff6060">1</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p2(t2, t2+<font color="#ffff00">sizeof</font>(t2)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;CandyShop * obj = <font color="#ffff00">new</font>&nbsp;CandyShop();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;start = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;my_answer = obj-&gt;countProbablePlaces(p0, p1, p2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;end = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">delete</font>&nbsp;obj;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Time: &quot;</font>&nbsp;&lt;&lt;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>&nbsp;&lt;&lt;<font color="#ff6060">&quot; seconds&quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;p3 = <font color="#ff6060">0</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Desired answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; p3 &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Your answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; my_answer &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(p3 != my_answer) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;DOESN'T MATCH!!!!&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;-<font color="#ff6060">1</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font>&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Match :-)&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
<font color="#00ff00">double</font>&nbsp;test5() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t0[] = {-<font color="#ff6060">3</font>,<font color="#ff6060">3</font>,<font color="#ff6060">5</font>,<font color="#ff6060">5</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p0(t0, t0+<font color="#ffff00">sizeof</font>(t0)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t1[] = {<font color="#ff6060">4</font>,<font color="#ff6060">5</font>,-<font color="#ff6060">2</font>,<font color="#ff6060">0</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p1(t1, t1+<font color="#ffff00">sizeof</font>(t1)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;t2[] = {<font color="#ff6060">10</font>,<font color="#ff6060">11</font>,<font color="#ff6060">8</font>,<font color="#ff6060">6</font>};<br>
&nbsp;&nbsp;&nbsp;&nbsp;vector &lt;<font color="#00ff00">int</font>&gt; p2(t2, t2+<font color="#ffff00">sizeof</font>(t2)/<font color="#ffff00">sizeof</font>(<font color="#00ff00">int</font>));<br>
&nbsp;&nbsp;&nbsp;&nbsp;CandyShop * obj = <font color="#ffff00">new</font>&nbsp;CandyShop();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;start = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;my_answer = obj-&gt;countProbablePlaces(p0, p1, p2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">clock_t</font>&nbsp;end = clock();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">delete</font>&nbsp;obj;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Time: &quot;</font>&nbsp;&lt;&lt;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>&nbsp;&lt;&lt;<font color="#ff6060">&quot; seconds&quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;p3 = <font color="#ff6060">33</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Desired answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; p3 &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Your answer: &quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;</font><font color="#ff40ff">\t</font><font color="#ff6060">&quot;</font>&nbsp;&lt;&lt; my_answer &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(p3 != my_answer) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;DOESN'T MATCH!!!!&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;-<font color="#ff6060">1</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font>&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Match :-)&quot;</font>&nbsp;&lt;&lt;endl &lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">return</font>&nbsp;(<font color="#00ff00">double</font>)(end-start)/<font color="#ff6060">CLOCKS_PER_SEC</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
<br>
<font color="#00ff00">int</font>&nbsp;main() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">int</font>&nbsp;time;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#00ff00">bool</font>&nbsp;errors = <font color="#ff6060">false</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;time = test0();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(time &lt; <font color="#ff6060">0</font>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errors = <font color="#ff6060">true</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;time = test1();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(time &lt; <font color="#ff6060">0</font>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errors = <font color="#ff6060">true</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;time = test2();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(time &lt; <font color="#ff6060">0</font>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errors = <font color="#ff6060">true</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;time = test3();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(time &lt; <font color="#ff6060">0</font>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errors = <font color="#ff6060">true</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;time = test4();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(time &lt; <font color="#ff6060">0</font>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errors = <font color="#ff6060">true</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;time = test5();<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(time &lt; <font color="#ff6060">0</font>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errors = <font color="#ff6060">true</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">if</font>&nbsp;(!errors)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;You're a stud (at least on the example cases)!&quot;</font>&nbsp;&lt;&lt;endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ffff00">else</font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;<font color="#ff6060">&quot;Some of the test cases had errors.&quot;</font>&nbsp;&lt;&lt;endl;<br>
}<br>
<br>
<font color="#8080ff">//Powered by [KawigiEdit] 2.0!</font><br>
</font></body>
</html>
